home *** CD-ROM | disk | FTP | other *** search
- /*
- * Catenate one or more files to standard output.
- * If no files are specified, default to standard input.
- */
-
- #define BUFFSIZE 4096
-
- main(argc, argv)
- int argc;
- char *argv[];
- {
- int fd, i, n;
- char buff[BUFFSIZE];
- extern char *pname;
-
- pname = argv[0];
- argv++; argc--;
-
- fd = 0; /* default to stdin if no arguments */
- i = 0;
- do {
- if (argc > 0 && (fd = my_open(argv[i], 0)) < 0) {
- err_ret("can't open %s", argv[i]);
- continue;
- }
-
- while ( (n = read(fd, buff, BUFFSIZE)) > 0)
- if (write(1, buff, n) != n)
- err_sys("write error");
- if (n < 0)
- err_sys("read error");
-
- } while (++i < argc);
- exit(0);
- }
-